package com.activiti.service;

import com.activiti.model.User;
import com.activiti.model.UserGroup;
import com.activiti.model.VacTask;
import com.activiti.model.Vacation;

public interface IVacationService {

	/**
	 * 添加一个用户
	 * @param user
	 * @return
	 */
	Object addUser(User user);
	/**
	 * 获取组下用户
	 * @param groupId
	 * @return
	 */
	Object getUserGroup(String groupId);
	/**
	 * 获取全部用户
	 * @return
	 */
	Object getAllUser();
	/**
	 * 获取所有组
	 * @return
	 */
	Object getAllGroup();
	/**
	 * 登录
	 * @param userName
	 * @param password
	 * @return
	 */
	boolean login(String userName, String password);
	/**
	 * 我的申请列表
	 * @param userName
	 * @return
	 */
	Object myAuditRecord(String userName);
	/**
	 * 我的任务
	 * @param userName
	 * @return
	 */
	Object myVacRecord(String userName);
	/**
	 * 通过申请
	 * @param userName
	 * @param vacTask
	 * @return
	 */
	Object passAudit(String userName, VacTask vacTask);
	/**
	 * 待申请
	 * @param userName
	 * @return
	 */
	Object myAudit(String userName);
	/**
	 * 我的流程
	 * @param userName
	 * @return
	 */
	Object myVac(String userName);
	/**
	 * 启动流程
	 * @param userName
	 * @param vac
	 * @return
	 */
	Object startVac(String userName, Vacation vac);
	
	/**
	 * 添加一个组
	 * @param group
	 * @return
	 */
	Object addGroup(UserGroup group);
	
	
	Object addUserToGroup(User user);

}
